From: Giovanni Campagna Date: Thu, 6 Jun 2013 20:09:28 +0000 (+0200) Subject: ScreenShield: don't really deactivate when acting as a greeter X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3810 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=a8ea6c2c66256bc18aa67e05cf1a5a28a89bc16d;p=gnome-shell.git ScreenShield: don't really deactivate when acting as a greeter In greeter mode, we don't want to hide the login dialog, drop the modal or send spurious signals to gnome-settings-daemon. https://bugzilla.gnome.org/show_bug.cgi?id=701761 --- diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index ffe876246..4e61c1115 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -1143,6 +1143,20 @@ const ScreenShield = new Lang.Class({ if (Main.sessionMode.currentMode == 'unlock-dialog') Main.sessionMode.popMode('unlock-dialog'); + if (this._isGreeter) { + // We don't want to "deactivate" any more than + // this. In particular, we don't want to drop + // the modal, hide ourselves or destroy the dialog + // But we do want to set isActive to false, so that + // gnome-session will reset the idle counter, and + // gnome-settings-daemon will stop blanking the screen + + this._activationTime = 0; + this._isActive = false; + this.emit('active-changed'); + return; + } + if (this._dialog && !this._isGreeter) this._dialog.popModal(); @@ -1162,7 +1176,7 @@ const ScreenShield = new Lang.Class({ }, _completeDeactivate: function() { - if (this._dialog && !this._isGreeter) { + if (this._dialog) { this._dialog.destroy(); this._dialog = null; }